/**
 * 用户认证中间件
 *
 * 主要功能：
 * - 验证用户身份
 *
 * @file auth.js
 * @version 1.0.0
 * @author "nailuo"
 * @created 2025-9-1
 * @lastModified 2025-9-1
 */

require('dotenv').config();
const jwt = require('jsonwebtoken');
const auth = (req, res, next) => {
    // 从请求头获取 token
    const token = req.header('Authorization')?.replace('Bearer ', '');
    
    if (!token) {
        return res.status(401).json({ message: '未提供 token' });
    }
    try {
        const decoded = jwt.verify(token, process.env.jwt_secret);
        req.user = decoded; // 将解码后的用户信息挂载到 req 上，供后续路由使用
        next();
    } catch (error) {
        res.status(400).json({
            message: 'token 无效' + error.message,
        });
    }
};
module.exports = auth;